package com.nd.android.musicboxlibrary.business.bean;

import android.content.Context;
import android.os.Environment;

import com.common.StarAppConfig;
import com.common.android.utils.FileUtils;
import com.nd.android.musicboxlibrary.business.comm.ApiManager;

import java.io.File;
import java.io.IOException;

/**
 * 专辑信息
 */
public class FileInfo extends BaseType {

    public final static int TYPE_MUSIC = 1;
    
    public final static int TYPE_HQ_MUSIC = 2;
    
    public final static int TYPE_LRC = 3;

    public final static int TYPE_IMAGE = 4;

    public final static String EXT_MP3 = ".mp3";

    /** 高清音质，存储到本地,后缀的标志 by jiangwb  */
    public final static String EXT_HQ_MP3 = ".hqmp3";
    
    /** 音乐下载，暂用的后缀 */
    public final static String EXT_TEMP = ".temp";
    
    /** 音乐下载，暂用的后缀 */
    public final static String EXT_HQ_TEMP = ".hqtemp";
    
    public final static String EXT_LRC = ".lrc";

    public final static String DIR_LOCAL_MP3 = Environment.getExternalStorageDirectory()
            .getAbsolutePath() + File.separator + StarAppConfig.getConfig(StarAppConfig.MUSIC_DOWNLOAD_DIR);

    public final static String DIR_LOCAL_LRC = Environment.getExternalStorageDirectory()
            .getAbsolutePath() + File.separator + StarAppConfig.getConfig(StarAppConfig.MUSIC_DOWNLOAD_DIR)
            +"/lrc-utf";

    public final static String DIR_DOWNLOAD = ApiManager.URL_FILE + "show/file/fid/";
    
    public final static String ENCRYPTED_MUSIC_PATH_NAME = "encrypted";
    
    // 文件类型
    private int type;

    // 文件ID
    private long id;

    // 文件hqID
    private long hqID;
    
    // 文件名称
    private String name;

    // 下载队列id
    private long downLoadId;

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:20:46
     * 
     * @return long
     * @author wat.ztag
     */
    public long getId() {
        return id;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:20:53
     * 
     * @param fId long
     * @author wat.ztag
     */
    public void setId(long fId) {
        this.id = fId;
    }

    /**
     * 
     * <br>
     * Created 2014年11月26日 下午11:20:46
     * 
     * @return long
     * @author jiangwb
     */
    public long getHQId() {
        return hqID;
    }

    /**
     * 
     * <br>
     * Created 2014年11月26日 下午11:20:53
     * 
     * @param id
     * @author jiangwb
     */
    public void setHQId(long hqID) {
        this.hqID = hqID;
    }
    
    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:20:56
     * 
     * @return String
     * @author wat.ztag
     */
    public String getName() {
        return name;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:20:58
     * 
     * @param str String
     * @author wat.ztag
     */
    public void setName(String str) {
        this.name = str;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:21:00
     * 
     * @return int
     * @author wat.ztag
     */
    public int getType() {
        return type;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:21:02
     * 
     * @param intType int
     * @author wat.ztag
     */
    public void setType(int intType) {
        this.type = intType;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:21:05
     * 
     * @return long
     * @author wat.ztag
     */
    public long getDownLoadId() {
        return downLoadId;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:21:07
     * 
     * @param dId long
     * @author wat.ztag
     */
    public void setDownLoadId(long dId) {
        this.downLoadId = dId;
    }
    
    /**
     * 获取 存放加密音乐文件的地址
     * @author 			DingXiaohui
     * @date 				2014-11-19 下午8:29:09
     * @description 	
     * @param context
     * @return
     */
    public static String getEncryptedMusicPath(Context context) {
    	final String path = context.getFilesDir().getAbsolutePath() 
    			+ "/" + ENCRYPTED_MUSIC_PATH_NAME;
    	File file = new File( path );
    	if ( !file.exists() || !file.isDirectory() ) {
    		file.mkdir();	
    	}
    	return path;
    }
    
    /**
     * 清空 存放加密音乐文件的地址
     * @author 			DingXiaohui
     * @date 				2014-11-19 下午8:29:09
     * @description 	
     * @param context
     * @return
     */
    public static void cleanEncryptedMusicPath(Context context) {
    	try {
    		final String path = getEncryptedMusicPath( context );
    		File file = new File( path );
			FileUtils.cleanDirectory( file );
		} catch (IOException e) {
			e.printStackTrace();
		}
    }
}
